package com.varian.system.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.varian.mybatis.base.BaseEntity;
import com.varian.tool.model.ExecuteType;
import com.varian.tool.model.TaskStatus;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author ben
 * @since 2024/12/11
 */
@Data
@TableName(value = "varian_task", autoResultMap = true)
public class SysTask extends BaseEntity {
    /**
     * 任务编码
     */
    private String taskCode;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 0:立即执行 1:计划执行
     */
    private ExecuteType executeType;
    /**
     * 计划时间
     */
    private LocalDateTime scheduleTime;
    /**
     * 执行时间
     */
    private LocalDateTime executeTime;
    /**
     * 任务参数
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private Object taskParam;
    /**
     * 阻塞策略 0:无限制 N:并行数量
     */
    private Integer executeBlockStrategy;
    /**
     * 任务状态 0:未执行 1:执行中 2:已完成 3:失败
     */
    private TaskStatus taskStatus;
    /**
     * 错误信息
     */
    private String errorMessage;
    /**
     * 创建人
     */
    private Long createId;
}
